package com.ruoyi.payment.mapper;

import java.util.List;
import com.ruoyi.payment.domain.SalaryPayment;
import com.ruoyi.payment.domain.SalaryPaymentVO;
import com.ruoyi.slip.domain.SalarySlip;
import org.apache.ibatis.annotations.Select;

/**
 * 工资发放记录Mapper接口
 * 
 * @author cxs
 * @date 2025-05-31
 */
public interface SalaryPaymentMapper 
{
    /**
     * 查询工资发放记录
     * 
     * @param id 工资发放记录主键
     * @return 工资发放记录
     */
    public SalaryPayment selectSalaryPaymentById(Long id);

    /**
     * 查询工资发放记录列表
     * 
     * @param salaryPayment 工资发放记录
     * @return 工资发放记录集合
     */
    public List<SalaryPayment> selectSalaryPaymentList(SalaryPayment salaryPayment);

    /**
     * 新增工资发放记录
     * 
     * @param salaryPayment 工资发放记录
     * @return 结果
     */
    public int insertSalaryPayment(SalaryPayment salaryPayment);

    /**
     * 修改工资发放记录
     * 
     * @param salaryPayment 工资发放记录
     * @return 结果
     */
    public int updateSalaryPayment(SalaryPayment salaryPayment);

    /**
     * 删除工资发放记录
     * 
     * @param id 工资发放记录主键
     * @return 结果
     */
    public int deleteSalaryPaymentById(Long id);

    /**
     * 批量删除工资发放记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSalaryPaymentByIds(Long[] ids);

    /**
     * 查询工资发放记录列表2
     * @param salaryPayment
     */
    List<SalaryPaymentVO> selectList(SalaryPayment salaryPayment);

    /**
     *  查询 slip
     * @param id
     * @return
     */
    @Select("select * from salary_slip where user_id = #{id}")
    SalarySlip selectSlip(Long id);
}
